home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Precision Software Appli…tions Silver Collection 4
/
Precision Software Applications Silver Collection Volume 4 (1993).iso
/
organise
/
ctv125.exe
/
README.CT
< prev
next >
Wrap
Text File
|
1992-07-26
|
30KB
|
689 lines
Page 1
********** Notes for THE CONTROLLER program. **********
This is a shareware program. It is not a free program. There is
a copy right on the program and the macro language. You are
encouraged to share this program with associates, but if you find
the program to be of value to you the price is $29.00.
SEVERAL months of work went into making THE CONTROLLER available.
I hope it was worth it.
You are encouraged to download THE CONTROLLER to other bulletin
boards. The six files TYPE_ME.1ST, NOTE, PCPLS, DEMO.CT,
README.CT and CT.EXE must be compressed into CTV125.ZIP or
CONTROL.ZIP so that the instructions remain with the program.
To see short demos of THE CONTROLLER,
at the DOS prompt type:
CT DEMO.CT R
or
CT NOTE R
or if PROCOMM is in your path
CT PCPLS R (make sure your modem is off)
You can look at the demo routines in any text editor.
An explanation of the lines is in this file.
1. INTRODUCTION:
THE CONTROLLER can be used for two purposes. First it can be used
as a keyboard macro program. As a keyboard macro program it will
read a script file, and run other programs. For example, it can
call Lotus 123, open a spread sheet, go to a cell and enter data,
then give the commands to recalc and copy a portion of the spread
sheet to an ASCII file. It could next save the spread sheet, exit
123, call dBase, open a DBF table and give the command to append
from the ASCII table created by Lotus 123.
(One word about it's ability to read the screen: if you call
Lotus 123 and then call a very large spread sheet, it would be a
good idea to monitor a spot on the screen to indicate that the
spread sheet did fully load and not run out of memory.)
Another example would be to create a script to call a
communications program, dial a number, send a password,
upload a file then download another file, hangup the phone, and
exit the communications program. THE CONTROLLER can be told to
start the whole procedure a set time. It can complete it or
complete steps of it when a defined line of text comes to the
screen, such as "TRANSMISSION COMPLETE" or "SUCCESS". From there
the script could be similar to the Lotus example or could use the
downloaded file in Word Perfect as a mail merge header master
list. And so on and so on.
Page 2
A third example would be for batching long reports at night.
Simply put the criteria for all reports into a script and let it
run the program to have one long report after another print. As
yet though it will not check for paper jams in the printer.
This is all well and good but the real power of THE CONTROLLER
lies in it's second purpose, it's ability to upload data. For
example, if you own Peachtree Accounting software, or any one
of several other popular accounting packages, you are aware
that you cannot import data into the data tables. Well now you
can (sort of). If you arrange the data in a text file in the
order the accounting package would receive it, as if you were
keying it in, THE CONTROLLER will read the text file and key it
in for you.
This is how you would use THE CONTROLLER to do the second item.
Let me regress a little and mention how this program came to be.
We did a custom program under XENIX for a customer. The custom
program handled order entry, inventory control, and manufacturing
cut sheet specifications. We needed the program to interface with
their Peachtree accounts receivable program. An interface between
a program running under XENIX to another program running under
DOS would be difficult, but to also get to an unknown data
structure was going to be more than their budget allowed. So the
need was there to do it in a cost effective manner. That's how
this program was born. Now we download in ASCII the data required
for the accounts receivable package to a DOS formatted floppy
disk. Stick the disk into the DOS system and let THE CONTROLLER
move it to where it needs to be. We might link the two systems
via RS232 later but this works now.
2: RUNNING THE CONTROLLER:
To load THE CONTROLLER into memory type CT. THE CONTROLLER
requires the name of the source script as an argument.
The following screen will appear when you load THE CONTROLLER.
╒════════════════════════════════════════════════╕
│ ***** THE CONTROLLER Vx.xx ***** │
│════════════════════════════════════════════════│
│ AACRO Computer Systems, 4466 White Cap Rd. │
│ Marietta GA 30066..........1-404-926-7733 │
│ │
│ You may register your personal copy of THE │
│ CONTROLLER by sending $29.00 and the completed │
│ registration form (in README.CT) to the above │
│ address. You will receive version 2.x and the │
│ CAPTURE program if you are registered. │
│ │
│ Source Script [ C:\CT\CONTROL.IN ] │
╘═ (c) AACRO Computer Systems 1990, 1991, 1992 ══╛
Page 3
The HOT KEY combination is Alt and . (the Alt key and the period
key). Pressing this combination will produce this screen, the
CONTROL PANEL.
╒═════════════════════════════════════════════╕
│ Notes[Check the disk for lost clusters ] │
│╒═══════╕╒═══════╕╒═══════╕╒═══════╕╒═══════╕│
││<-<-Hom││ <-- ││ --> ││End->->││Source ││
│╘═══════╛╘═══════╛╘═══════╛╘═══════╛╘═══════╛│
│╒═══════╕╒═══════╕╒═══════╕╒═══════╕╒═══════╕│
││ Walk ││ Run ││ Pause ││TakeOut││Delay-0││
│╘═══════╛╘═══════╛╘═══════╛╘═══════╛╘═══════╛│
│ Next[CHKDSK A: ] Source[CONTROL.IN ] │
╘═════════════════════════════════════════════╛
At the top you see "Notes". The "notes" you document your source
script with will be displayed in this area. At the bottom you see
"Next". "Next" tells you what is about to be placed into the
keyboard buffer just as if you had typed it. In the above example
CHKDSK will be ran on the "A" disk drive. "Source" shows the name
of the current source script.
╒═══════╕
│<-<-Hom│........ Pressing the "Home" key at this time will
╘═══════╛ move the file pointer to the start of the
source script.
╒═══════╕
│End->->│........ Pressing the "End" key at this time will
╘═══════╛ move the file pointer to the end of the
source script.
╒═══════╕╒═══════╕Pressing the arrow keys will move the file
│ <-- ││ --> │pointer to a point one command or one line
╘═══════╛╘═══════╛of text before or after the current
position.
╒═══════╕
│Source │........ Pressing the "S" key will allow you to
╘═══════╛ enter name of a new source script for THE
CONTROLLER to follow.
Page 4
╒═══════╕
│ Walk │........ Pressing "W" will cause THE CONTROLLER to
╘═══════╛ put the command or text seen in the "Next"
area into the keyboard buffer and give
control back to the foreground program or
DOS for a moment so that the foreground
program or DOS can respond to the
keystrokes placed in the keyboard buffer.
This is the single step or WALK option.
╒═══════╕
│ Run │........ Pressing "R" will cause THE CONTROLLER to
╘═══════╛ go into RUN mode and put the command or
text seen in the "Next" area into the
keyboard and give control back to the
foreground program or DOS for a moment so
that the foreground program or DOS can
respond to the keystrokes placed in the
keyboard buffer. THE CONTROLLER will
continue to fill the keyboard buffer and
allow the foreground program to respond
until the source script reaches the end.
When the source script reaches the end the
control panel will come up and "End of
Script" will be shown in the Next area.
If you wish to break into a running source
script, just press Alt or Esc, this will
cause the control panel to again come up
and stop THE CONTROLLER.
╒═══════╕
│ Pause │....... Pressing the "P" key will cause the control
╘═══════╛ panel to go into the back ground and give
control to the foreground program.
╒═══════╕
│Delay-0│....... Delay 0 to 9. Adds cycles between steps in
╘═══════╛ the source. It is used to slow down THE
CONTROLLER.
╒═══════╕
│TakeOut│....... Removes THE CONTROLLER from memory.
╘═══════╛
Page Up and Page Down are also available from the control
panel, but are not displayed. They allow movement of the
file pointer forward and backward within the source. Page Up
moves the pointer to the previous page marker or to the top.
Page Down moves the pointer to the next page marker or to
the bottom. This allows you to quickly move the file pointer
in large or predefined steps before you place THE CONTROLLER
in RUN mode.
Page 5
To accomplish some of the same functions while THE CONTROLLER is
in the back ground, the following keys are provided:
Walk.........Press F11 (function key 11) or Alt W. This
will cause THE CONTROLLER to go into "Walk"
mode as outlined above.
Run..........Press F12 (function key 12) or Alt R. This
will cause THE CONTROLLER to go into "Run"
mode as outlined above.
** REMEMBER ** to stop THE CONTROLLER, and bring up the control
panel, while it is in RUN mode just press the Alt or Esc key.
While THE CONTROLLER is in RUN mode ALL key strokes except
the Alt key or the Esc key are IGNORED.
If you encounter an error such as drive not ready or printer
not ready while THE CONTROLLER is in RUN mode you will be asked
to respond to the question "Abort Retry or Fail", or some such
thing. You will need to press the backward quote key (`) to
allow keyboard input before you answer or else the system will
continue to ignore all keyboard input.
Also see General Notes on page 11.
The name of the source script:
You may load any source script you wish by calling THE CONTROLLER
with the name of the source script as an argument as in;
CT MYSOURCE.TXT
MYSOURCE.TXT would contain the commands and or text to be used by
THE CONTROLLER. If you want MYSOURCE.TXT to immediately take over
your system and start running it, you would enter;
CT MYSOURCE.TXT R
The "R" means RUN and may be in upper or lower case.
Page 6
The following describes the format the data needs to be in if you
use THE CONTROLLER to enter data. The data can be field oriented.
If it is, a (~) represents an end of field with out a carriage
return. A (`) represents an end of field with a carriage return
(THE CONTROLLER will interpret the invisible CR/LF at the end of
a line as a carriage return). If you need to transfer 20,000
names and addresses into a data table and can not import them,
you might set them up as:
Henry Patrick 1234 USA Lane Somewhere VA 12345
Jefferson Thomas 4532 Freedom St Anywhere NY 54321
or as:
Henry`Patrick`1234 USA Lane``Somewhere`VA~12345~
Jefferson`Thomas`4532 Freedom St`Suite AB`Anywhere`NY~54321~
or as:
Henry
Patrick
1234 USA Lane
Somewhere
VA~
12345~
Jefferson
Thomas
4532 Freedom St
Suite AB
Anywhere
NY~
54321~
Notice that the fields which are longer than the data filling
them require a carrage return (CR/LF or`) to tell the receiving
program to go to the next field. Fields which are a fixed length
as the state and zip code fields are, may not need a carrage
return, the (~) will cause a break in the characters being placed
into the keyboard buffer but will not enter a carrage return.
A (`) at the end of the line will cause the invisible CR/LF to be
ignored, so that you will not get two carrage returns.
Also see General Notes on page 11.
Page 7
The following describes the commands which can be placed into the
source script.
************* This is the macro language. *************
The character ^ is the alert character. The next character after
the ^ determines what is to be done.
The only valid second characters are below:
/ = Notes: ^/ Every thing after the slash to the next slash is
ignored /. The note will be displayed on the control
panel in the NOTE box, but for the note to be
relevant it must precede the item or items it is
noting. The two slashes used as ends of the note are
incompatible with the date form MM/DD/YY. The first
slash in the date will signify the end of the note
field and the rest of the date will be used as a
command or data. A date form of MM-DD-YY is
suggested.
N = Notes Displayed: The next characters must be x,y/..notes../,
as in ^N10,5/ This note is on screen row 5 and column
10/. The notes will be displayed on the control panel
but will also be put on the screen. The default
screen location is 1, 1. The location coordinates are
C style x, y (column, row) coordinates. This is
backward from the dBase syntax of row, column. With
this you could do a vertical note on the screen if
you took the time to build it. The screen is numbered
from column 1, row 1 to column 80, row 25. This
function is very useful when running THE CONTROLLER
in an interactive task.
C = Control Panel: ^C is all that's required for the control
panel to popup. During a RUN sequence the ^C will
stop the run, popup the control panel and give you
back control.
P = PutAway: Or Pause - If in Run mode this command will stop THE
CONTROLLER in the background, put the word "PAUSE" on
the screen in the upper right corner and allow full
operation of the foreground. If this P is followed by
a "." THE CONTROLLER will be looking for a T or an S
following the period.
T = Time: The full syntax is ^P.Thh:mm. Where hh is
the hour (in 24 hour format) and mm is the
minute. This will cause a pause until the
indicated time is reached, at which time the next
instruction will be read and THE CONTROLLER will
will continue. This is useful for doing timed
events like backups or modem communications.
Page 8
S = Screen: The full syntax is ^P.Sx,y/..text../. THE
CONTROLLER will pause until the text indicated by
/text/ is seen at screen location x,y. x and y
are described in Notes Displayed. When the text
is seen the next instruction will be read and THE
CONTROLLER will continue. Text is limited to 20
characters and is case sensitive. Any characters
beyond 20 will be ignored until the last '/' is
reached.
T = Takeout: Causes the TSR to go away after setting the system
back to the values present before CT was loaded.
D = Delay: Causes a delay in tenths of a second. ^D005 for a 0.5
second delay. There MUST be three digits. Max delay
is 99.9 seconds, min is 0.1. While THE CONTROLLER is
in a delay the forground program can run.
E = End: ^E End of a line. Used if you build a control script
automatically and the end of the lines contain spaces
(spaces are valid characters). The spaces will be
inserted until a valid end of field marker (~ or ` or
CR/LF) is encountered. To prevent the insertion of
spaces the ^E is used to tell THE CONTROLLER to skip
over all spaces until a non-space is reached.
B = Bell: ^B causes a two tone bell to sound. Also acts as a page
marker. (Page defined later)
S = Source: ^S will call another source and immediately run it.
The syntax is ^Sname.ext. (a space or CR/LF indicates
the end of the name). A source script CAN call itself
! = Page: ^! is a page marker. The Page Up key will move the
source pointer back to the preceding page or the
beginning of the script. Also the Page Down key will
move the source pointer to the next page or the end
of the script. This can be handy if you need to move
from one record to another or one order or invoice
to another. (Also see Bell above.)
Page 9
< = Command Key: This group is used to insert the cursor movement
and control keys into the Source script. The correct
syntax is ^< then the key then a >; as in ^<F2> means
function key 2. The keys are represented as follows:
ESC = Escape
F1 = Function key 1
F2 = Function key 2
F3 = Function key 3
F4 = Function key 4
F5 = Function key 5
F6 = Function key 6
F7 = Function key 7
F8 = Function key 8
F9 = Function key 9
F10 = Function key 10
F11 = Function key 11
F12 = Function key 12
DEL = Delete key
TAB = Tab key
HOME= Home
END = End
PU = Page Up
PD = Page Down
UA = Up Arrow
DA = Down Arrow
LA = Left Arrow
RA = Right Arrow
BS = Back Space
ENT = Enter (Only CTRL ENT and ALT ENT supported)
% = ALT ("%" means "ALT" and is the prefix)
(ie: ^<%A> means ALT A )
^ = Control ("^" means "Control" and is the
prefix)
(ie:^<^LA> means Control Left Arrow)
$ = Shift ("$" means "Shift" and is the prefix)
(ie: ^<$F1> means Shift F1 )
< = Special ("<"means "Special" and is a prefix)
(ie: ^<<00:59> is the same as F1 )
If you are in the CT CAPTURE program and you
press a key combination that CT cannot
interpret CT CAPTURE will insert the
keyboard buffer combination for the key
stroke. Also if you want a special code
placed in the buffer you can place it here.
************************ CAUTION **************************
* Be SURE you know what your doing before you use the *
* Special input. *
************************ CAUTION **************************
Page 10
**** The following is the list of supported key combinations ****
**** If you run into a needed combination, let us know ****
"F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"
"%F1","%F2","%F3","%F4","%F5","%F6","%F7","%F8","%F9","%F10",
"%F11","%F12"
"^F1","^F2","^F3","^F4","^F5","^F6","^F7","^F8","^F9","^F10",
"^F11","^F12"
"$F1","$F2","$F3","$F4","$F5","$F6","$F7","$F8","$F9","$F10",
"$F11","$F12"
"HOME", "END", "UA", "DA", "RA", "LA", "PU", "PD", "DEL", "INS",
"TAB",
"^HOME", "^END", "^UA", "^DA", "^RA", "^LA", "^PU", "^PD",
"^ENT","%ENT","$TAB"
"%A", "%B", "%C", "%D", "%E", "%F", "%G", "%H", "%I", "%J",
"%K", "%L", "%M", "%N", "%O", "%P", "%Q", "%R", "%S", "%T",
"%U", "%V", "%W", "%X", "%Y", "%Z",
"^A", "^B", "^C", "^D", "^E", "^F", "^G", "^H", "^I", "^J",
"^K", "^L", "^M", "^N", "^O", "^P", "^Q", "^R", "^S", "^T",
"^U", "^V", "^W", "^X", "^Y", "^Z",
"%1", "%2", "%3", "%4", "%5", "%6", "%7", "%8", "%9", "%0",
"%-", "%=", "%BS", "BS", "ESC"
Page 11
** General Notes **
Generally spaces are not a good thing in a source script. Spaces
are considered characters. In example (one) below the blank line
between dBase and the NOTE line will generate a CR/LF after dBase
loads.
^/ Example Source script (one) : /
^/ Call dBase /
dBase
^/ Call the ASSIST function with the F1 key /
^<F1>
^N1,1/* Put THE CONTROLLER into pause (noted on screen)/
^P
^/ Escape out of ASSIST when THE CONTROLLER is restarted /
^<ESC>
^/ Leave dBase /
quit
^/ Terminate THE CONTROLLER /
^T
^/ Example Source script (two) : /
^/ Call Lotus 123 /
123
^/ Load the monthly sales spread sheet /
/~f~r~M_SALES
^/ The (~) character above is not needed but makes the /
^/ line more readable /
^/ Upload data pulled from modem then recalc /
/~f~i~MODEM.TXT`^<F9>
^/ Call a macro to print the sheet /
^<%A>
^/ Go into a pause state until the F12 key is pressed then /
^/ save the file, exit and terminate /
^P
/~f~s~
/~q~y~
^T
Page 12
If you call THE CONTROLLER from a batch file and include the
argument R for an immediate run, you must consider the way a
batch file runs and what THE CONTROLLER does. THE CONTROLLER
places characters into the keyboard buffer. A batch file does
not accept keyboard input. You may be disapointed unless you
use some delays and carefull planning.
** Error Messages ** (Appear in the "Next" Box)
*KEY ERROR1* - A '>' was not found to terminate a key command
such as ^<F1> or ^<HOME>.
*KEY ERROR2* - A command like ^<Home> was entered instead of
^<HOME>. A match could not be found find in the internal
command array.
********************* DISCLAIMER ***********************
AACRO COMPUTER SYSTEMS DOES NOT WARRANT THE CONTROLLER IN
ANY WAY. AACRO SYSTEMS WILL NOT BE RESPONSIBLE IN ANY WAY
FOR LOSS OF DATA OR DAMAGES OF ANY SORT.
*********************************************************
Page 13
Registration Form (Get this line on the top
----------------- line of your screen and
print the screen, or use
Your Name _____________________________ the printout
Street Address _________________________ page 13)
City ___________________________________
State ___________________ Zip ___________
Company Name __________________________ (If any)
Enclosed is check for $29.00 to AACRO Computer Systems
Version Number ___________ (it's on the screen when you call CT)
Where did you get THE CONTROLLER ?
Friend ( )
Bulletin Board ( ) Which _____________________________
Other ( ) Describe ___________________________________
If you have a primary purpose or use for THE CONTROLLER we would
like to know what it is.
If you have suggestions for future updates we will certainly
consider them.
Page 14
*****************************************************************
Known Problems
1) If you call a source script from a floppy drive and you open
the latch on the drive or get a drive error the file pointer will
get lost and can lock up the computer. Under these circumstances
if the computer is not locked up you must reopen the source
script to allow the file pointer to find home. If you are under
windows and the computer locks you can terminate the window. If
you are not under windows and the computer locks you must
Ctrl-Alt-Del. Under these conditions be sure to first press the
(`) key to allow key input if it is not being taken.
If you find problems or have suggestions please let us know. We
will accept suggestions and bug reports from any user registered
or not.
Page 15
As of June 6, 1992 the plans for THE CONTROLLER Pro Series were
finalized. The pro series will include logical branching
conditions, while loops, multiple concurrent screen watching and
timer conditions, and greater ability to control and take input
with variables. Most of these enhancements were suggestions from
registered users. In addition to these changes are several
others, such as faster operation, a view window to position the
file pointer or just find out where you are in the script, better
graphics handling. The Capture program will also be upgraded.
The Pro Series is positioned as a tool for DOS software
programmers. At AACRO it is used to test programs being developed
for clients. As one part of a program is finished a script to
run the program is generated. Later as other revisions or
procedures are added the script will tirelessly test and retest
prewritten pieces to be sure some interaction has not caused a
problem. It's a program to test programs.
THE CONTROLLER Pro Series will not be a shareware product but
will be handled through normal retail channels. Any one
registered prior to it's release will be entitled to an upgrade
at a fraction of the retail price.
July 1, 1992 the decision was made to send version 2.0 to all
registered users and any subsequent registered users. Version 2.0
will have logical "IF-ELSE" ability, limited variables, and a
source position view screen. It will also allow a call to a sub-
script and recognize when it cannot popup in text mode because of
a graphics mode program running above.
Versions 1.xx will be placed on bulletin board systems. All 1.xx
versions will be functionally identical with problem fixes being
the only changes.